/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package mnstudent.datatranferobject;

import java.sql.Date;
import java.util.ArrayList;
import java.util.Objects;

/**
 *
 * @author lee
 */
public class RegistrationCoursesDTO {
    
    //<editor-fold defaultstate="collapsed" desc=" Attributes">
    private String m_RegistrationCoursesID;
    private String m_StudentID;
    private Date m_DateOfRegistration;
    private int m_TotalTheoryCredit;
    private int m_TotalPracticeCredit;
    private String m_StaffID;
    private String m_SemesterID;
    private String m_AcademicYearID;
    private int m_TotalFee;
    private int m_TotalRemainingFee;
    private int m_AmountIsReduces;
    private ArrayList<SubjectDisplay> listSubjectRegistration;
    //</editor-fold>

    
    //<editor-fold defaultstate="collapsed" desc=" Properties">

    public String getRegistrationCoursesID() {
        return m_RegistrationCoursesID;
    }

    public void setRegistrationCoursesID(String strRegistrationCoursesID) {
        this.m_RegistrationCoursesID = strRegistrationCoursesID;
    }

    public int getAmountIsReduces() {
        return m_AmountIsReduces;
    }

    public void setAmountIsReduces(int m_AmountIsReduces) {
        this.m_AmountIsReduces = m_AmountIsReduces;
    }
    
    public String getStudentID() {
        return m_StudentID;
    }

    public void setStudentID(String strStudentID) {
        this.m_StudentID = strStudentID;
    }

    public Date getDateOfRegistration() {
        return m_DateOfRegistration;
    }

    public void setDateOfRegistration(Date dtDateOfRegistration) {
        this.m_DateOfRegistration = dtDateOfRegistration;
    }

    public int getTotalTheoryCredit() {
        return m_TotalTheoryCredit;
    }

    public void setTotalTheoryCredit(int iTotalTheoryCredit) {
        this.m_TotalTheoryCredit = iTotalTheoryCredit;
    }

    public int getTotalPracticeCredit() {
        return m_TotalPracticeCredit;
    }

    public void setTotalPracticeCredit(int iTotalPracticeCredit) {
        this.m_TotalPracticeCredit = iTotalPracticeCredit;
    }

    public String getStaffID() {
        return m_StaffID;
    }

    public void setStaffID(String strStaffID) {
        this.m_StaffID = strStaffID;
    }

    public String getSemesterID() {
        return m_SemesterID;
    }

    public void setSemesterID(String strSemesterID) {
        this.m_SemesterID = strSemesterID;
    }

    public String getAcademicYearID() {
        return m_AcademicYearID;
    }

    public void setAcademicYearID(String strAcademicYearID) {
        this.m_AcademicYearID = strAcademicYearID;
    }

    public int getTotalFee() {
        return m_TotalFee;
    }

    public void setTotalFee(int iTotalFee) {
        this.m_TotalFee = iTotalFee;
    }

    public int getTotalRemainingFee() {
        return m_TotalRemainingFee;
    }

    public void setTotalRemainingFee(int iTotalRemainingFee) {
        this.m_TotalRemainingFee = iTotalRemainingFee;
    }
    
    public ArrayList<SubjectDisplay> getListSubjectRegistration() {
        return listSubjectRegistration;
    }

    public void setListSubjectRegistration(ArrayList<SubjectDisplay> listSubjectRegistration) {
        this.listSubjectRegistration = listSubjectRegistration;
    }

    //</editor-fold>
    
    //<editor-fold defaultstate="collapsed" desc=" Method ">
    public RegistrationCoursesDTO(){
        
    }
    
    public RegistrationCoursesDTO(String strRegistrationCoursesID, 
            String strStudentID, 
            Date dtDateOfRegistration,
            int iTotalTheoryCredit, 
            int iTotalPracticeCredit, 
            String strStaffID, 
            String strSemesterID,
            String strAcademicYearID, 
            int iTotalFee, 
            int iTotalRemainingFee,
            int iAmountIsReduces){
        
        this.m_AcademicYearID = strAcademicYearID;
        this.m_DateOfRegistration = dtDateOfRegistration;
        this.m_RegistrationCoursesID = strRegistrationCoursesID;
        this.m_SemesterID = strSemesterID;
        this.m_StaffID = strStaffID;
        this.m_StudentID = strStudentID;
        this.m_TotalFee = iTotalFee;
        this.m_TotalRemainingFee = iTotalRemainingFee;
        this.m_TotalPracticeCredit  = iTotalPracticeCredit;
        this.m_TotalTheoryCredit = iTotalTheoryCredit;
        this.m_AmountIsReduces = iAmountIsReduces;
    }
    
     public RegistrationCoursesDTO(String m_RegistrationCoursesID, 
             String m_StudentID, 
             Date m_DateOfRegistration, 
             int m_TotalTheoryCredit, 
             int m_TotalPracticeCredit, 
             String m_StaffID, 
             String m_SemesterID, 
             String m_AcademicYearID, 
             int m_TotalFee, 
             int m_TotalRemainingFee, 
             int m_AmountIsReduces, 
             ArrayList<SubjectDisplay> listSubjectRegistration) {
        this.m_RegistrationCoursesID = m_RegistrationCoursesID;
        this.m_StudentID = m_StudentID;
        this.m_DateOfRegistration = m_DateOfRegistration;
        this.m_TotalTheoryCredit = m_TotalTheoryCredit;
        this.m_TotalPracticeCredit = m_TotalPracticeCredit;
        this.m_StaffID = m_StaffID;
        this.m_SemesterID = m_SemesterID;
        this.m_AcademicYearID = m_AcademicYearID;
        this.m_TotalFee = m_TotalFee;
        this.m_TotalRemainingFee = m_TotalRemainingFee;
        this.m_AmountIsReduces = m_AmountIsReduces;
        this.listSubjectRegistration = listSubjectRegistration;
    }
     
    @Override
    public int hashCode() {
        int hash = 3;
        hash = 59 * hash + Objects.hashCode(this.m_RegistrationCoursesID);
        hash = 59 * hash + Objects.hashCode(this.m_StudentID);
        hash = 59 * hash + Objects.hashCode(this.m_DateOfRegistration);
        hash = 59 * hash + this.m_TotalTheoryCredit;
        hash = 59 * hash + this.m_TotalPracticeCredit;
        hash = 59 * hash + Objects.hashCode(this.m_StaffID);
        hash = 59 * hash + Objects.hashCode(this.m_SemesterID);
        hash = 59 * hash + Objects.hashCode(this.m_AcademicYearID);
        hash = 59 * hash + this.m_TotalFee;
        hash = 59 * hash + this.m_TotalRemainingFee;
        hash = 59 * hash + this.m_AmountIsReduces;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final RegistrationCoursesDTO other = (RegistrationCoursesDTO) obj;
        if (!Objects.equals(this.m_RegistrationCoursesID, other.m_RegistrationCoursesID)) {
            return false;
        }
        if (!Objects.equals(this.m_StudentID, other.m_StudentID)) {
            return false;
        }
        if (!Objects.equals(this.m_DateOfRegistration, other.m_DateOfRegistration)) {
            return false;
        }
        if (this.m_TotalTheoryCredit != other.m_TotalTheoryCredit) {
            return false;
        }
        if (this.m_TotalPracticeCredit != other.m_TotalPracticeCredit) {
            return false;
        }
        if (!Objects.equals(this.m_StaffID, other.m_StaffID)) {
            return false;
        }
        if (!Objects.equals(this.m_SemesterID, other.m_SemesterID)) {
            return false;
        }
        if (!Objects.equals(this.m_AcademicYearID, other.m_AcademicYearID)) {
            return false;
        }
        if (this.m_TotalFee != other.m_TotalFee) {
            return false;
        }
        if (this.m_TotalRemainingFee != other.m_TotalRemainingFee) {
            return false;
        }
        if (this.m_AmountIsReduces != other.m_AmountIsReduces) {
            return false;
        }
        return true;
    }
    
    //</editor-fold>

   
    
}
